package com.echo.im.storage.task.service;

import com.echo.im.storage.task.model.TaskEntity;

import java.util.List;

/**
 * 消息任务服务接口
 * @author echo
 */
public interface TaskService {

    /**
     * 查询发送MQ失败和超时1分钟未发送的MQ
     *
     * @return 未发送的任务消息列表10条
     */
    List<TaskEntity> queryNoSendMessageTaskList();

    /**
     * 发送任务消息
     *
     * @param taskEntity 任务实体
     */
    void sendMessage(TaskEntity taskEntity);

    /**
     * 更新任务消息发送完成状态
     *
     * @param userId 用户ID
     * @param messageId 消息ID
     */
    void updateTaskSendMessageCompleted(String userId, String messageId);

    /**
     * 更新任务消息发送失败状态
     *
     * @param userId 用户ID
     * @param messageId 消息ID
     */
    void updateTaskSendMessageFail(String userId, String messageId);

}
